extern void test_ror4();
extern void test_q_perm();
extern void test_split_word();
extern void test_join_word();
extern void test_h_func();
extern void test_rol();
extern void test_ror();
extern void test_byte_matrix_mul();
extern void test_pre_expand_key();
extern void test_twofish_128_encrypt();

#define TEST_ROR4
#define TEST_Q_PERM
#define TEST_SPLIT_WORD
#define TEST_JOIN_WORD
#define TEST_H_FUNC
#define TEST_ROL
#define TEST_ROR
#define TEST_BYTE_MATRIX_MUL
#define TEST_PRE_EXPAND_KEY
#define TEST_TWOFISH_128_ENCRYPT

#define TEST_MAIN

int test_main()
{
#ifdef TEST_ROR4
	test_ror4();
#endif

#ifdef TEST_Q_PERM
	test_q_perm();
#endif

#ifdef TEST_SPLIT_WORD
	test_split_word();
#endif

#ifdef TEST_JOIN_WORD
	test_join_word();
#endif

#ifdef TEST_H_FUNC
	test_h_func();
#endif

#ifdef TEST_ROL
	test_rol();
#endif

#ifdef TEST_ROR
	test_ror();
#endif

#ifdef TEST_BYTE_MATRIX_MUL
	test_byte_matrix_mul();
#endif

#ifdef TEST_PRE_EXPAND_KEY
	test_pre_expand_key();
#endif

#ifdef TEST_TWOFISH_128_ENCRYPT
	test_twofish_128_encrypt();
#endif
	return 0;
}

#ifdef TEST_MAIN
int main()
{
	return test_main();
}
#endif
